package com.itheima.auth.service;

import com.itheima.model.admin.dtos.LoginDto;
import com.itheima.model.common.dtos.ResponseResult;

/**
 * 认证服务接口
 * 
 * @author itheima
 */
public interface AuthService {

    /**
     * 管理员登录（账号密码）
     * 
     * @param dto 登录信息
     * @return 包含token和管理员信息的响应
     */
    ResponseResult login(LoginDto dto);

    /**
     * 退出登录
     * 
     * @param token JWT Token
     * @return 响应结果
     */
    ResponseResult logout(String token);

    /**
     * 刷新Token
     * 
     * @param token 旧Token
     * @return 新Token
     */
    ResponseResult refreshToken(String token);

    /**
     * 获取当前登录管理员信息
     * 
     * @param token JWT Token
     * @return 管理员信息
     */
    ResponseResult getCurrentAdmin(String token);
}

